Some integrated circuit (IC) processing devices handle tasks such as media processing in which there is critical timing for event handling by software. Debugging such devices may be quite difficult because there may be no readily available way to determine the relative timing at which software and hardware events occur. In particular, there may be no convenient way of detecting the timing of hardware events such as video input and output “ticks”, MPEG transport stream packet arrivals, core CPU interrupts, and program clock-recovery updates. Existing techniques for detecting hardware states may involve logic analyzers, which are expensive, require debug probe points on the IC and motherboard, and do not readily correlate with execution of the platform software.